package com.tensquare.user.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter { //WebSecurityConfigurerAdapter会自动加载本类


    @Override
    protected void configure(HttpSecurity http) throws Exception {
        /**
         * .authorizeRequests // 所有security全注解配置实现的开端，表示开始说明需要的权限
         * .antMatchers 表示拦截什么路径，permitAll表示给予所有权限,直接放行
         */
        http
                .authorizeRequests() // 所有security全注解配置实现的开端，开始说明,后面指定的对象所需要的权限认证
                // 需要的权限分成两部分，第一个部分是拦截的路径，第二部该路径需要的权限
                .antMatchers("/**").permitAll() // 指定拦截的路径，并给予所有权限,直接放行
                .anyRequest().authenticated() // anyRequest 任意请求 .authenticated 认证后才能请求 (任何请求都要认证才能请求)
                .and().csrf().disable() // 关闭csrf跨域防御

        ;
    }
}
